home *** CD-ROM | disk | FTP | other *** search
- 10 ;++++++++++++++++++++++++++++++++
- 20 ;+++++ +++++
- 30 ;+++++ HARDCOPY FUER +++++
- 40 ;+++++ CENTRONICS DRUCKER +++++
- 50 ;+++++ (STAR SG) +++++
- 60 ;+++++ AM USER-PORT +++++
- 70 ;++++++++++++++++++++++++++++++++
- 80 ;+++++ +++++++++++
- 90 ;+++++ VON +++++++++++
- 100 ;+++++ RICHARD GRESEK +++++++++++
- 110 ;+++++ +++++++++++
- 120 ;++++++++++++++++++++++++++++++++
- 130 .LI1,3
- 140 .BA$7000
- 150 ;
- 160 ;
- 170 ;++++++++++++++++++++++++++++++++
- 180 ;AUSRECHNEN DER +++++++++++++
- 190 ;STARTADRESSE DER +++++++++++++
- 200 ;BITMAP,PRUEFEN +++++++++++++
- 210 ;OB GRAPHIC EIN +++++++++++++
- 220 ;++++++++++++++++++++++++++++++++
- 230 START LDA$D018;BITS 12-13
- 240 AND#$0C;DER BITMAP
- 250 ASL;INS HI-BYTE
- 260 ASL
- 270 ASL
- 280 ASL
- 290 STANBY+2
- 300 LDA$DD00;BITS14-15 AUS CIA2 HOLEN
- 310 LSR
- 320 RORNBY+2;INS HI-BYTE SCHIEBEN
- 330 LSR
- 340 RORNBY+2
- 350 LDANBY+2;BITS 1-2 DER CIA2 LOW-AKTIV
- 360 EOR#$C0;DESHALB UMKEHREN MIT EOR #%1100 0000
- 370 STANBY+2;UND ZURUCK INS HI-BYTE DES BITMAPZEIGER
- 380 LDA#00
- 390 STANBY+1;LO-BYTE DES BITMAPZEIGER = 0
- 400 LDA$D011;BIT5=1 =>HI-RES GRAPHIC EIN=> AUSDRUCKEN
- 410 AND#32
- 420 BNEBEGIN
- 430 RTS;BIT5=0 >ZURUCK INS HAUPTPROGRAMM
- 440 ;++++++++++++++++++++++++++++++++
- 450 ;HAUPTPROGRAMM ++++++++++++++++
- 460 ;++++++++++++++++++++++++++++++++
- 470 BEGIN SEI;INTERRUPT ABSCHALTEN
- 480 LDA#$35;GANZES RAM BIS AUF I/O
- 490 STA01;EINBLENDEN
- 500 LDA#$FF;PORT B CIA2 AUF AUGANG
- 510 STA$DD03
- 520 LDA#<(ZEABST+3);ENDADRESSE
- 530 LDY#>(ZEABST+3)
- 540 STACONTL+1
- 550 STYCONTH+1
- 560 LDA#<(ZEABST);STARTADRESSE
- 570 LDY#>(ZEABST);DER BYTEFOLGE FUER ZEILENABSTAND 8/72 INCH
- 580 JSRSTROUT;BYTEFOLGE AUF PARALLEL-PORT AUSGEBEN
- 590 LDA#25;25 ZEILEN*40 SPALTEN
- 600 STAZEILE
- 610 ZEI LDA#40
- 620 STASPALTE
- 630 SPA LDA#8;8 BYTE IN JEDEM KAESTCHEN
- 640 STABYZ
- 650 BY LDY#8
- 660 NBY LDA$6000;BYTE AUS BITMAP HOLEN
- 670 LOOP LDX#01;+++++++++++++++++++++++++++++++++++++++
- 680 LOO ROL;BIT NR.X INS CARRY
- 690 DEX
- 700 BNELOO;+++++++++++++++++++++++++++++++++++++++
- 710 ST ROLSCHL;CARRY INS AKTUELLE BYTE EINFUEGEN
- 720 INCNBY+1;+++++++++++++++++++++++++++++++++++++++
- 730 BNEWE;BITMAPZEIGER ERHOEHEN
- 740 INCNBY+2;+++++++++++++++++++++++++++++++++++++++
- 750 WE DEY;SCHON 8 BIT ZUSAMMEN?
- 760 BNENBY;NEIN >NAECHSTES BYTE HOLEN
- 770 INCLOOP+1;NAECHSTE BITSPALTE
- 780 SEC
- 790 LDANBY+1;+++++++++++++++++++++++++++++++++++++++++++++++
- 800 SBC#8;BITMAPZEIGER AUF BYTE NR.1 DER NAECHSTEN SPALTE
- 810 STANBY+1;SETZEN
- 820 LDANBY+2
- 830 SBC#00
- 840 STANBY+2;+++++++++++++++++++++++++++++++++++++++
- 850 INCST+1;ZEIGER AUF AKTUELLES BYTE IM AUSGABESTRING
- 860 BNEWE1; ERHOEHEN
- 870 INCST+2;+++++++++++++++++++++++++++++++++++++++
- 880 WE1 DECBYZ;ALLE 8 BYTE DES KAESTCHENS FERTIG?
- 890 BNEBY;NEIN=>SPRUNG
- 900 LDA#01;1.BITSPALTE DER NAECHSTEN SPALTE
- 910 STALOOP+1
- 920 CLC;+++++++++++++++++++++++++++++++++++++++
- 930 LDANBY+1;BITMAPZEIGER AUF 1.BYTE DER NAECHSTEN SPALTE
- 940 ADC#8;STELLEN
- 950 STANBY+1
- 960 LDANBY+2
- 970 ADC#00
- 980 STANBY+2;+++++++++++++++++++++++++++++++++++++++
- 990 DECSPALTE;ZEILE FERTIG?
- 1000 BNESPA;NEIN >NEACHSTE SPALTE
- 1010 LDA#<(ZEABST);++++++++++++++++++++++++++++++++++++++++
- 1020 LDY#>(ZEABST);GRAPHIC-EINSCHALTSEQUENZ SCHICKEN
- 1030 STACONTL+1;(VOR JEDER ZEILE)
- 1040 STYCONTH+1
- 1050 LDA#<(EINSCH)
- 1060 LDY#>(EINSCH)
- 1070 JSRSTROUT;++++++++++++++++++++++++++++++++++++++++
- 1080 LDA#<(SCHL+$140)
- 1090 STACONTL+1;ZUSAMMENGESTELLTE GRAPHICZEILE
- 1100 LDA#>(SCHL+$140)
- 1110 STACONTH+1;AUF EINMAL AUSGEBEN
- 1120 LDA#<(SCHL)
- 1130 STAST+1
- 1140 LDY#>(SCHL)
- 1150 STYST+2
- 1160 JSRSTROUT;+++++++++++++++++++++++++++++++++++++++
- 1170 LDA#13;RETURN AUF DRUCKER SCHICKEN (NEUE ZEILE)
- 1180 JSRCOUT
- 1190 DECZEILE;ALLE ZEILEN FERTIG?
- 1200 BNEZE;NEIN>NAECHSTE ZEILE
- 1210 LDA#$37;BASIC+KERNAL EINSCHALTEN
- 1220 STA01
- 1230 CLI;IRQ ZULASSEN
- 1240 RTS
- 1250 ;++++++++++++++++++++++++++++++++
- 1260 ;STROUT-AUSGABE EINES ++++++++
- 1270 ;BELIEBIG LANGEN STRINGS ++++++++
- 1280 ;AUF PARALLELPORT ++++++++
- 1290 ; ++++++++
- 1300 ;++++++++++++++++++++++++++++++++
- 1310 STROUT STYLADE+2;HI-BYTE DER STARTADR.
- 1320 STALADE+1;LO-BYTE --"--
- 1330 LADE LDA$2000;BYTE DES STRING HOLEN
- 1340 JSRCOUT;AUF PORT AUSGEBEN
- 1350 INCLADE+1;ZEIGER ERHOEHEN
- 1360 BNEWE2
- 1370 INCLADE+2
- 1380 WE2 LDALADE+2
- 1390 CONTH CMP#$41;HI-BYTE DER AKT. ADRESSE=HI-B(ENDADR.)?
- 1400 BNELADE;NEIN >WEITER
- 1410 LDALADE+1;LO-BYTE DER ADRESSE=LO-B(ENDADR.)?
- 1420 CONTL CMP#64
- 1430 BMILADE;NEIN >WEITER
- 1440 RTS;ZURUECK INS HAUPTPROGRAMM
- 1450 ZE JMPZEI
- 1460 ;-----------------------------
- 1470 EINSCH .BY27,103,5,64,1;SEQUENZ ZUM EINSCHALTEN DES GRAPHICMODUS
- 1480 ZEABST .BY27,65,8;ZEILENABSTAND 8/72 INCH
- 1490 ;++++++++++++++++++++++++++++++++
- 1500 COUT STA$DD01;DATEN AUF LEITUNG
- 1510 LDA$DD0D;ICR LOESCHEN
- 1520 LDA$DD00;
- 1530 AND#$FB;PA2 (STROBE)-SIGNAL
- 1540 STA$DD00
- 1550 ORA#04;=>ZEICHEN FUER
- 1560 STA$DD00;'DATA AUF LEITUNG'
- 1570 LDA#$10;FLAG2-BUSY
- 1580 WARTE BIT$DD0D;BUSY LOW?
- 1590 BEQWARTE;+> NEIN
- 1600 RTS
- 1610 ;+++++++++++++++++++++++++++++++
- 1620 ; VARIABLEN ++++++++++++
- 1630 ;+++++++++++++++++++++++++++++++
- 1640 ZEILE NOP;ZEILENZAEHLER
- 1650 SPALTE NOP;SPALTENZAEHLER
- 1660 BYZ NOP;BYTEZAEHLER FUER JEDES KAESTCHEN
- 1670 ;+++++++++++++++++++++++++++++++
- 1680 SCHL NOP;ANFANG DES AUSZUGEBENDEN STRINGS
-